home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / comm / net / amipx1_23.lha / amipx1_23 / Include / amipx.h < prev   
C/C++ Source or Header  |  1998-02-05  |  1KB  |  58 lines

  1. /* include this file along with amipx_protos.h and amipx_pragmas.h,
  2.    if you need them
  3. */
  4. #ifndef _AMIPX_H_
  5. #define _AMIPX_H_
  6.  
  7.  
  8. #include <exec/libraries.h>
  9.  
  10. struct AMIPX_Address {
  11.  UBYTE Network[4];
  12.  UBYTE Node[6];
  13.  UWORD Socket;
  14. };
  15.  
  16.  
  17. /* Beware of the UWORD fields in the packet header: they have the same 
  18.    byte ordering as the Amiga and must NOT be byte-swapped. PC's must do that.
  19. */
  20. struct AMIPX_PacketHeader {
  21.  UWORD Checksum;
  22.  UWORD Length;
  23.  UBYTE Tc;
  24.  UBYTE Type;
  25.  struct AMIPX_Address Dst;
  26.  struct AMIPX_Address Src;
  27. };
  28.  
  29. struct AMIPX_Fragment {
  30.  UBYTE *FragData;
  31.  UWORD FragSize;
  32. };
  33.  
  34.  
  35. /* Note that you may define an ECB with any number of fragments */
  36.  
  37. struct AMIPX_ECB {
  38.  APTR Link;             /* Amipx does not use this   */
  39.  APTR ESR;
  40.  UBYTE InUse;
  41.  UBYTE CompletionCode;   /* non-zero in case of error */
  42.  UWORD Socket;
  43.  UBYTE IPXWork[4];    /* private! */
  44.  UBYTE DWork[12];        /* private! */
  45.  UBYTE ImmedAddr[6];
  46.  UWORD FragCount;
  47.  struct AMIPX_Fragment Fragment[1]; // first fragment - more than one allowed
  48. };
  49.  
  50.  
  51. struct AMIPX_Library {                  
  52.  struct Library ml_Lib;
  53. };
  54.    
  55.  
  56.  
  57. #endif
  58.